// // todo 导航守卫逻辑
// import router from '@/router'
// import store from '@/store' // 引入vuex store实例
// import NProgress from 'nprogress' // 引入一份进度条插件
// import 'nprogress/nprogress.css' // 引入进度条样式

// // todo 导航前置守卫
// // 白名单
// const whiteList = ['/login', '/404']
// router.beforeEach(async (to, from, next) => {
//   NProgress.start() // 开启进度条
//   if (store.getters.token) {
//     // 登录了
//     if (to.path === '/login') {
//       // 登录了还要去登录页，拦截到主页
//       next('/')
//     } else {
//       // 每次刷新用户资料就丢失，丢失之后导航守卫会再次回到获取资料的逻辑位置
//       // 登录了，去其他页面
//       // if (store.getters.userId) {
//       //   // 有用户资料
//       //   next()
//       // } else {
//       //   // 没有用户资料，获取一下
//       //   await store.dispatch('user/getUserInfoAction')
//       // }

//       if (!store.getters.userId) {
//         await store.dispatch('user/getUserInfoAction')
//       }
//       // 登录了，去其他界面
//       next()
//     }
//   } else {
//     // 未登录 但是可以去白名单的页面
//     if (whiteList.includes(to.path)) {
//       // 在白名单，放行
//       next()
//     } else {
//       // 非法访问 去登录页
//       next('/login')
//     }
//   }
//   NProgress.done() // 手动强制关闭一次 手动切换地址时，进度条不关闭的问题
// })

// // todo 导航后置守卫
// router.afterEach(() => {
//   NProgress.done() //关闭进度条
// })
